#if !defined(AFX_USERDEFINEDDISPLAYPANEL_H__CB3806B7_5670_4708_826D_DC7443BA405E__INCLUDED_)
#define AFX_USERDEFINEDDISPLAYPANEL_H__CB3806B7_5670_4708_826D_DC7443BA405E__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// UserDefinedDisplayPanel.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CUserDefinedDisplayPanel window

#include "BasePanel.h"

class UserDefinedDisplay;
class CSubgroupSurface;

class CUserDefinedDisplayPanel : public CBasePanel
{
// Construction
public:
	CUserDefinedDisplayPanel(UserDefinedDisplay * pUserDefinedDisplay);

// Attributes
public:
  UserDefinedDisplay * m_pUserDefinedDisplay;

// Operations
public:
  virtual void CreateSurfaces();
  virtual void Paint(CDC& dc);
  virtual void GetMinMaxInfo(MINMAXINFO FAR* lpMMI);

  UserDefinedDisplay * GetpUserDefinedDisplay() const {return m_pUserDefinedDisplay;}
  void UpdateUserDefinedDisplayContent(UserDefinedDisplay * pUserDefinedDisplay);
  CSubgroupSurface * GetpSubgroupSurface() {ASSERT(m_Surfaces.size() == 1);return (CSubgroupSurface *)m_Surfaces[0];}

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CUserDefinedDisplayPanel)
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CUserDefinedDisplayPanel();

	// Generated message map functions
protected:
	//{{AFX_MSG(CUserDefinedDisplayPanel)
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
	afx_msg void OnUserDefinedDisplaySetContent();
	afx_msg void OnUserDefinedDisplayAutoSize();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_USERDEFINEDDISPLAYPANEL_H__CB3806B7_5670_4708_826D_DC7443BA405E__INCLUDED_)
